function dg = DoG(imageSize, sigmaex, sigmainh, firstTerm, secondTerm, filterScale)
excite = sigmaex * imageSize;
inhibit = sigmainh * imageSize;
lower = -1 * ((imageSize/2)-1);
upper = (imageSize/2);
[x,y] = meshgrid(lower:upper, lower:upper);

exp1 = exp(-1 * (x .* x + y .* y)./(2 * excite * excite));
exp2 = exp(-1 * (x .* x + y .* y)./(2 * inhibit * inhibit));

first = firstTerm * exp1;
second = secondTerm * exp2;

dg = filterScale * (first - second);


